import { createApp } from 'vue' // 引入 createApp 方法
import App from '@/App.vue'     // 引入 App.vue 组件
import './assets/main.css'      // 引入 main.css 样式文件
import 'nprogress/nprogress.css' // 引入 nprogress.css 样式文件
import * as ElementPlusIconsVue from '@element-plus/icons-vue' // 导入 Element Plus 图标
import router from '@/router'// 导入路由
import 'animate.css';
// 导入全局路由守卫
import '@/permission'
// 引入全局状态管理 Pinia
import pinia from '@/stores'
// 图片点击放大
import 'viewerjs/dist/viewer.css'
import VueViewer from 'v-viewer'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import 'virtual:svg-icons-register'
import SvgIcon from '@/assets/icons/svg/SvgIcon.vue'
// 黑暗模式
import 'element-plus/theme-chalk/dark/css-vars.css'
const app = createApp(App)


app.component("svg-icon", SvgIcon)
// 应用路由
app.use(router)
// 应用 Pinia
app.use(pinia)
//应用图片预览
app.use(VueViewer)

app.use(ElementPlus)

app.mount('#app')
// 引入图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}

